import { request } from '../../request/index.js'
Page({

  /**
   * 页面的初始数据
   */
  data: {
    //左侧菜单数据
    categoryTitle: [],
     //右侧菜单数据
    categoryContent: [],
    //被点击左边菜单
    currentIndex: 0,
    scrollTop:0
  },
  Cates:[],
  onLoad: function (options) {
    /**
     * 1.先判断本地存储中有没有旧的数据
     *  {time:Date.now(),data:[...]]}
     * 2.没有旧数据，直接发送新请求
     * 3.有旧的数据，并且旧的数据没有过期就使用本地存储中的旧数据即可
     */
    // 1.获取本地存储的数据（小程序也是存在本地存储
    const Cates = wx.getStorageSync("cates")
    // 2.判断
    if(!Cates){
      // 不存在 发送请求获取数据
      this.getCategoryData();
    }else{
      // 本地存储中有数据，定义过期时间：10s
    }if(Date.now()-Cates.time>1000*60*5){
      // 重新发送请求
      this.getCategoryData();
    }else{
      //可以使用旧数据
      this.Cates=Cates.data;
      //左侧菜单数据
      let categoryTitle=this.Cates.map(v=>v.cat_name);
      //右侧菜单数据
      let categoryContent=this.Cates.[0].children;
      this.setData({
        categoryTitle,
        categoryContent
      })
    }
    
  },
  async getCategoryData(){
    // request({
    //   url:"/categories"
    // })
    // .then(result=>{
    //   this.Cates=result.data.message;
    //   //把接口的数据存入到本地存储中
    //   wx.setStorageSync("cates",{time:Date.now(),data:this.Cates})

    //   //左侧菜单数据
    //   let categoryTitle=this.Cates.map(v=>v.cat_name);
    //   //右侧菜单数据
    //   let categoryContent=this.Cates.[0].children;
    //   this.setData({
    //     categoryTitle,
    //     categoryContent
    //   })
    // })
    const res=await request({url:"/categories"});
    this.Cates=res;
      //把接口的数据存入到本地存储中
      wx.setStorageSync("cates",{time:Date.now(),data:this.Cates})
      //左侧菜单数据
      let categoryTitle=this.Cates.map(v=>v.cat_name);
      //右侧菜单数据
      let categoryContent=this.Cates.[0].children;
      this.setData({
        categoryTitle,
        categoryContent
      })
  },
  //左侧菜单点击事件
  handleItemTap(e){
    /**
     * 1.获取被点击的标题的索引
     * 2.给data中的currentIndex赋值
     */
    const { index } = e.currentTarget.dataset;
    let categoryContent=this.Cates.[index].children;
    this.setData({
      currentIndex: index,
      categoryContent,
      scrollTop:0
    })
  }

})